package org.wheel.plugins.toolkit.util.bean;

import lombok.Data;
import lombok.RequiredArgsConstructor;

/**
 * 字段类型信息封装
 * 用于判断字段是对象、集合、还是普通类型，并缓存元素类型
 */
@Data
@RequiredArgsConstructor
public class FieldTypeInfo {
    /** 是否集合类型 */
    public final boolean isCollection;
    /** 原始字段类型 */
    public final Class<?> rawType;
    /** 集合元素类型 or 对象类型 */
    public final Class<?> elementType;

//    public FieldTypeInfo(boolean isCollection, Class<?> rawType, Class<?> elementType) {
//        this.isCollection = isCollection;
//        this.rawType = rawType;
//        this.elementType = elementType;
//    }

    @Override
    public String toString() {
        return "FieldTypeInfo{" +
                "isCollection=" + isCollection +
                ", rawType=" + rawType +
                ", elementType=" + elementType +
                '}';
    }
}
